Micron Document
A `!channel`! is a bidirectional messaging layer on top of a `F0af`_`[link`:/page/wiki.mu`path=Link]`_`f for reliable delivery of typed data.

It is similar to sending `F0af`_`[packets`:/page/wiki.mu`path=Packet]`_`f except that it provides automatic retries, and messages are structured and can be sent in either direction of the link (no client/server).

>>Contents

• `F0af`_`[Usage`#usage]`_`f
• `F0af`_`[See also`#see-also]`_`f

>>Usage

With `F0af`_`[RNS`:/page/wiki.mu`path=RNS]`_`f:

`B100`F9d9channel = link.get_channel()`f`b
`B100`F9d9channel.register_message_type(Message)`f`b
`B100`F9d9channel.add_message_handler(handler)`f`b
`B100`F9d9channel.send(Message(...))`f`b

For a more comprehensive use case, see the Channel example in the manual.

>>See also

• `F0af`_`[Buffer`:/page/wiki.mu`path=Buffer]`_`f

>>Reticulum concepts

`F0af`_`[Announce`:/page/wiki.mu`path=Announce]`_`f • `F0af`_`[Blackhole`:/page/wiki.mu`path=Blackhole]`_`f • `F0af`_`[Buffer`:/page/wiki.mu`path=Buffer]`_`f • Channel • `F0af`_`[Destination`:/page/wiki.mu`path=Destination]`_`f • `F0af`_`[Discovery`:/page/wiki.mu`path=Discovery]`_`f • `F0af`_`[Identity`:/page/wiki.mu`path=Identity]`_`f • `F0af`_`[Instance`:/page/wiki.mu`path=Instance]`_`f • `F0af`_`[Interface`:/page/wiki.mu`path=Interface]`_`f • `F0af`_`[Interface Access Code`:/page/wiki.mu`path=Interface_Access_Code]`_`f (IFAC) • `F0af`_`[Link`:/page/wiki.mu`path=Link]`_`f • `F0af`_`[Network identity`:/page/wiki.mu`path=Network_identity]`_`f • `F0af`_`[Node`:/page/wiki.mu`path=Node]`_`f • `F0af`_`[Packet`:/page/wiki.mu`path=Packet]`_`f • `F0af`_`[Path`:/page/wiki.mu`path=Path]`_`f • `F0af`_`[Propagation node`:/page/wiki.mu`path=Propagation_node]`_`f • `F0af`_`[Resource`:/page/wiki.mu`path=Resource]`_`f • `F0af`_`[Stamp`:/page/wiki.mu`path=Stamp]`_`f • `F0af`_`[Transport node`:/page/wiki.mu`path=Transport_node]`_`f

>>Channel

`!Source:`! `F0af`_`[Channel.py ↗`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=RNS/Channel.py]`_`f
`!API:`! `F0af`_`[RNS.Channel.Channel ↗`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/reference.md|anchor=RNS.Channel.Channel]`_`f